Machine and equipment assets, generally, are engineered to perform particular tasks as part of a business process. For example, assets can include, among other things and without limitation, industrial manufacturing equipment on a production line, drilling equipment for use in mining operations, wind turbines that generate electricity on a wind farm, transportation vehicles, and the like. As another example, assets may include devices that aid in diagnosing patients such as imaging devices (e.g., X-ray or MM systems), monitoring equipment, and the like. The design and implementation of these assets often takes into account both the physics of the task at hand, as well as the environment in which such assets are configured to operate.
Low-level software and hardware-based controllers have long been used to drive machine and equipment assets. However, the rise of inexpensive cloud computing, increasing sensor capabilities, and decreasing sensor costs, as well as the proliferation of mobile technologies have created opportunities for creating novel industrial and healthcare based assets with improved sensing technology and which are capable of transmitting data that can then be distributed throughout a network. As a consequence, there are new opportunities to enhance the business value of some assets through the use of novel industrial-focused hardware and software.
Businesses can create competitive advantages by harnessing the power of data and services within a cloud computing environment to make better informed decisions. For example, services can accelerate insights into industry and healthcare by integrating big data, advanced metrics, and compelling visualizations in a tangible and intuitive software package. Industrial based and healthcare based services may be stored on the cloud platform as part of an Internet of Things (IoT). The services may be created by different vendors using different programming languages and may include different inputs, different outputs, and behave differently from each other.
Services are commonly integrated with a cloud computing environment by implementing an application programming interface (API) referred to as a service broker. In a typical implementation, the service broker acts as a hidden middleman between the service and the cloud platform. As an example, a service broker may advertise a catalog of available service offerings and service plans, as well as interpreting calls for resources of the service. However, developing a service broker can be a difficult task even for developers who have significant knowledge in the field. There are very few resources for guiding developers on best practices or reference implementations. Moreover, service broker concepts can be even more difficult to grasp for a novice. Starting from scratch, a service broker can take weeks to develop and successfully be deployed and registered.